Versione 1.7 - Gennaio 1998
Se non ne conoscete rivolgetevi all'ufficio postale della vostra zona e chiedete informazioni su come effettuare un versamento a favore dell'Unicef.
L'entità della donazione è libera, ma fatela!
Prima di utilizzare HTTX leggere attentamente quanto segue e proseguire soltanto se ci si trova pienamente daccordo.
L'AUTORE DI HTTX NON SI ASSUME NÈ HA ALCUNA RESPONSABILITÀ PER I DANNI MORALI E/O MATERIALI CHE L'UTILIZZO DEL SUO PROGRAMMA PUÒ CAUSARE A PERSONE E/O COSE. IL PROGRAMMATORE SI È IMPEGNATO A LIMITARE I PROBLEMI CHE HTTX PUÒ CREARE MA NON È IN GRADO DI GARANTIRNE L'EFFICIENZA IN TUTTE LE SITUAZIONI. UTILIZZANDO HTTX L'UTENTE SI ASSUME TUTTE LE RESPONSABILITÀ MORALI, MATERIALI E LEGALI DEL CASO.
ATTENZIONE:
Molti documenti HTML sono Copyright e non liberamente distribuibili, nemmeno se convertiti in formato testo. L'autore declina ogni responsabilità per l'utilizzo che verrà fatto dei file generati da HTTX.
Tutti i programmi citati in questo documento sono proprietà dei rispettivi autori e produttori.
L'eseguibile, il sorgente e le idee alla sua base sono PROPRIETÀ ESCLUSIVA di Gabriele Favrin. Tutti i diritti sono riservati.
HTTX è freeware, NON pubblico dominio. Può essere diffuso a patto che nè l'eseguibile, nè la documentazione vengano in alcun modo alterati. È consentita l'archiviazione in formati diversi da LhA ma non la compressione dei singoli file con PowerPacker o tool simililari.
L'inserimento di HTTX o di sue parti in cover-disk di riviste è consentito a patto che venga preventivamente chiesta esplicita autorizzazione all'autore.
L'utilizzo commerciale di questo pacchetto è consentito esclusivamente ad AmiTrix e Yvon Rozijn (AWeb).
Gli staff di Aminet, Fred Fish, Meeting Pearls, Amy Resource e CU Amiga Magazine sono autorizzati ad inserire HTTX nelle rispettive raccolte di software Pubblico Dominio.
HTTX (HTml > TXt) è un programma atto a convertire il formato HTML, utilizzato per la visualizzazione di file nel World Wide Web e per la documentazione di diversi programmi, in ASCII puro. Esistono prodotti analoghi ma poichè nessuno soddisfaceva pienamente le mie necessità ho deciso di creare HTTX. Non dico che sia il migliore o il più veloce, ma certamente introduce diverse funzioni finora inedite nei programmi similari per Amiga.
HTTX va lanciato ESCLUSIVAMENTE da Shell.
Sintassi:
HTTX input [output] [opzioni]
I parametri fra parentesi quadre sono opzionali, è richiesto esclusivamente il nome del file da convertire ("input").
Qualora non venga indicato un nome per il salvataggio, sarà utilizzata la convenzione "NomeFile.txt" (es.: test.html verrà salvato come test.html.txt). Se come output è indicato un path il file convertito secondo la convenzione sopra riportata verrà salvato in detta directory.
Alcuni esempi:
HTTX data:txt/html/aboxe.html
Il file "aboxe.html"
viene convertito e salvato come
"data:txt/html/aboxe.html.txt"
HTTX data:txt/html/aboxe.html ram:aboxe.txt
Il file "aboxe.html"
viene convertito e salvato come
"ram:aboxe.txt"
HTTX data:txt/html/aboxe.html data:txt/
Il file "aboxe.html"
viene convertito e salvato come
"data:txt/aboxe.html.txt"
HTTX offre parecchie opzioni per il controllo del documento generato.
Default: 77 - Minimo: 15 - Massimo: 255
Default: 3 - Minimo: 1 - Massimo: il valore di (LEN - 10) / 3
Da non utilizzare se il testo convertito deve essere inserito in aree messaggi Fidonet o newsgroup Usenet.
Leggere le note sulla conversione ANSI per informazioni importanti sui codici ANSI utilizzati ed i possibili problemi di compatibilità.
Default: disattivo (gli stili non vengono convertiti).
ATTENZIONE: l'opzione ANSI comunque aggiunge i codici ESC (ASCII 27) proibiti in Fidonet e fortemente sconsigliati per un uso non personale (diffusione) del testo convertito.
Default: disattivo (i caratteri 8-bit non vengono convertiti).
Di contro questa soluzione introduce nel documento codici ANSI da evitare assolutamente quando il testo è destinato al forward su conferenze echo Fidonet o Newsgroup Usenet.
Default: HRMODE=1 (le linee vengono tracciate utilizzando il carattere "-" ).
Esempi:
Con l'opzione NOALIGN attiva entrambe le linee sarebbero poste all'inizio, con evidente risparmio di caratteri.
Default: disattivo (l'eventuale allineamento è supportato).
Default: disattivo (il titolo viene inserito nel file).
Esempio:
HTTX ram:children.html SITE=http://www.uncicef.org
All'inizio del file convertito comparirà il testo
"URL : http://www.unicef.org"
Nota: SITE ha priorità sull'opzione GETNOTE, quindi specificando un sito questo verrà utilizzato anche se la suddetta è attiva.
Default: disattivo (omettendo l'opzione e relativo sito nulla viene aggiunto).
Default: disattivo.
Default: disattivo (la versione di HTTTX ed eventuali titolo e URL vengono aggiunti).
Default: disattivo (i link non vengono aggiunti).
Default: disattivo (l'ALT-Text non viene aggiunto).
Leggere le note sulla conversione dei contenuti di <PRE>, <XMP>, <LISTING> e <SCRIPT> per informazioni importanti sulla conversione di questo tipo di testo.
Default: disattivo (il contenuto dell'elemento <SCRIPT> non viene aggiunto).
Default: disattivo (HTTX utilizza le regole DTD standard).
L'UTILIZZO È A PROPRIO RISCHIO: la conversione di file di testo o binari può portare ad effetti imprevisti.
Normalmente HTTX considera valido un file HTML se si verificano una o più delle seguenti condizioni:
L'opzione si rende necessaria se il file non risponde a queste caratteristiche pur essendo un documento HTML.
Default: disattivo (il controllo viene effettuato).
Default: disattivo (il documento viene salvato su file).
Il printer.device si occupa di convertire i codici ANSI standard ed il fine linea in quelli utilizzati dalla stampante impostata con il programma "Printer" presente nel cassetto Prefs.
Questa opzione va SEMPRE utilizzata qualora si intenda stampare il documento convertito, in particolare se l'opzione ANSI è attiva in quanto i codici ANSI utilizzati per la conversione a video o su file sono diversi da quelli (necessariamente più generici) indirizzati alla stampante.
Da evitare quindi la soluzione adottata in precedenti versioni di HTTX:
"HTTX aboxe.html prt:"
L'opzione attiva automaticamente QUIET e disattiva FILENOTE/STDIO.
Default: disattivo (il documento viene salvato a video o su file).
Utilizzando APPEND il testo convertito viene invece aggiunto in coda al file specificato.
Default: disattivo (il file destinazione, se già esistente, viene sovrascritto).
Per maggiori informazioni vedere il paragrafo sulla configurazione esterna.
Default: disattivo (HTTX cerca la configurazione di default o quella specificata con l'opzione CFG).
L'opzione disattiva NOCFG.
Per maggiori informazioni vedere il paragrafo sulla
configurazione esterna.
Default: disattivo (HTTX cerca di caricare la configurazione httx.prefs).
Il file incluso NON VIENE ALTERATO IN ALCUN MODO, compresi eventuali caratteri 8-bit, wordwrap del testo, codici ANSI e via dicendo. HTTX non segnalerà se sono presenti caratteri 8-bit.
Tenerne conto se il testo convertito deve essere inserito in conferenze echo Fidonet o Newsgroup Usenet.
Default: disattivo (nessun testo viene aggiunto).
ATTENZIONE: viene disabilitata anche la visualizzazione dei messaggi d'errore. Restano però attivi i codici d'errore AmigaDOS.
Default: disattivo (l'output di HTTX viene visualizzato).
Se non specificato diversamente vengono utilizzate le impostazioni di default.
Al termine della conversione, se l'opzione QUIET non è attiva, vengono fornite le seguenti informazioni:
HTTX supporta una configurazione esterna, ovvero un file di testo in cui è possibile inserire le opzioni più frequentemente utilizzate per non doverle ribattere ad ogni esecuzione.
Di default (a meno che sia specificata l'opzione NOCFG o che CFG non indichi
un file diverso) HTTX cerca il file "ENV:httx.prefs"
.
È possibile utilizzare più configurazioni, ad esempio una per la conversione su file ed una per la stampa, creando file differenti ed utilizzando l'opzione CFG nome file (non è necessario indicare ENV:).
Esempio:
HTTX aboxe.html
Converte il file "aboxe.html"
utilizzando la
configurazione di default (ENV:httx.prefs).
HTTX aboxe.html PRINT CFG=httxprt.prefs
Converte il file "aboxe.html"
utilizzando la
configurazione contenuta nel file ENV:httxprt.prefs
La configurazione esterna supporta un sottoinsieme delle opzioni disponibili in linea di comando. Ogni opzione DEVE essere specificata nella forma estesa (ad esempio ANSI e non AN, INDENT e non IN, etc).
Il file non deve contenere altro se non le opzioni (ed eventuali parametri). È consentito andare a capo per maggiore chiarezza in fase di stesura.
I comandi disponibili (per la cui descrizione si vedano le opzioni nella linea di comando):
Gli argomenti in linea di comando hanno priorità rispetto a quelli inseriti nella configurazione esterna e funzionano come interruttori. Alcuni esempi:
Posta una configurazione esterna contenente:
IMG GETNOTE LEN=70
inserendo il comando:
HTTX aboxe.html IMG
si ottiene che IMG è presente sia nella configurazione che lo attiva che nella linea di comando che lo disattiva.
HTTX aboxe.html LEN=74
LEN è presente nella configurazione esterna, ma viene preso il valore impostato in linea di comando ovvero 74.
I file di configurazione in effetti sono vere e proprie variabili di sistema
e si trovano nelle directory ENVARC:
(su disco) ed
ENV:
(generalmente in ram). Questa distribuzione consente di
modificare le configurazioni anche in maniera non permanente in quanto il
contenuto di ENV: vale solo per la sessione in corso e viene resettato ai
contenuti di ENVARC: ad ogni accensione o reset della macchina.
Di contro per salvare una configurazione in maniera permanente sarà necessario copiare lo stesso file sia in ENV: che in ENVARC:.
Utilizzare il proprio editor di testi preferito (per esempio Ed, Cygnus Editor, GoldEd, etc) per creare il file il cui nome di default è httx.prefs. Salvarlo in ENV: ed ENVARC: in modo che non venga perso al reset successivo. Modifiche temporanee possono essere effettuate editando il file in ENV:.
La configurazione di HTTX può essere interamente gestita utilizzando il plugin per il browser WWW AWeb.
Al termine dell'esecuzione HTTX genera l'appropriato codice d'errore (RC) AmigaDOS, utilizzabile all'interno di script per determinare l'esito della conversione. Per la lista completa dei codici si rinvia al manuale AmigaDOS.
In caso di errore, se l'opzione QUIET non è attiva, viene visualizzato anche il messaggio AmigaDOS relativo.
Segue un elenco degli errori più frequenti e del loro significato. Da notare che se il sistema è localizzato i messaggi sono visualizzati nella lingua impostata. Fare riferimento al manuale AmigaDOS per informazioni più dettagliate.
HTTX inoltre può visualizzare altri errori, in inglese, relativi all'errato utilizzo di comandi od opzioni.
Infine possono essere visualizzati degli avvertimenti (Warning) che non precludono la conversione del documento ma possono indicare situazioni che alterano il risultato finale:
Verificare la configurazione esterna.
ENV:
. Ricordarsi di
copiarlo in ENVARC:
quando lo si crea per la prima volta o lo si
modifica.
Q. "Gli stili ANSI (grassetto, italico, sottolineato,
blu) vengono interrotti dopo la prima linea."
A. Vedere le note sulla conversione ANSI.
Q. "Il testo converito da HTTX non è centrato
mentre nella pagina originale lo è."
A. Questo può avvenire se il testo nelle linee di
una tabella (<TR>) o nelle sue celle (<TD>) è definito
come centrato. Per mantenere la compatibilità con alcuni programmi
utilizzati in congiunzione ad HTTX, questa versione non supporta
l'allineamento definito in tali elementi. Verrà aggiunto in versioni
future che avranno maggiore supporto per le tabelle.
Q. "In alcuni casi non funziona l'allineamento, il
wordwrap e le liste non vengono formattate correttamente o addirittura
compaiono TAG HTML".
A. Si tratta di testo preformattato contenuto nell'elemento
<PRE>. HTTX lo copia così com'è, senza effettuare alcuna
formattazione. Questa scelta deriva dal fatto che sovente i testi di questo
tipo contengono sorgenti che l'autore desidera conservare così come
sono.
Negli elementi <LISTING> e <XMP> anche le TAG vengono lasciate così come sono, come da specifiche. Anche se le direttive dell'HTML 4.0 sconsigliano <XMP> esso è tuttora utilizzato per contenere esempi in molti documenti, come le specifiche JavaScript di Netscape.
Q. "Determinate pagine non vengono convertite
correttamente..."
A. Le ragioni possono essere diverse: layout basato su
tabelle (attualmente non supportate completamente, si veda
"Cosa è supportato, cosa non lo è (ancora) e implementazione dello standard",
errori nel sorgente HTML (HTTX è abbastanza tollerante, ma ci sono dei
limiti) oppure errori nel parser HTML di HTTX stesso. Se ritenete che la
pagina sia corretta, segnalatemene l'URL.
(E-Mail: favrin@tin.it, FidoNet: 2:333/726.8)
Q. "Posso utilizzare HTTX direttamente da AWeb o
Directory Opus?"
A. Per quanto riguarda AWeb, gli utenti della versione 3.1 o
successiva possono utilizzare il plugin ARexx fornito.
HTTX può essere utilizzato anche da Directory Opus creando un bottone configurato come segue (esempio relativo alla versione 4.12):
New Entry/AmigaDOS:
C:HTTX {f} {d}
(sostituire a C: il path completo se HTTX non si trova lì)
In questo modo il file selezionato nella directory "source" verrà convertito in formato testo e salvato nella directory "destination".
Attivando il flag "Do all files"
diventa possibile
convertire più files alla volta semplicemente selezionandoli e
attivando il bottone HTTX.
Q. "Posso migliorare le prestazioni di HTTX?"
A. È possibile velocizzare la conversione utilizzando
un filesystem con blocchi da 1024 byte, ad esempio il ram disk. Nel caso la
memoria sia poca o particolarmente frammentata il salvataggio in ram
porterà però a rallentamenti.
Questo paragrafo affronta alcune tematiche relative allo standard HTML ed alla sua implementazione in HTTX. Anche se la sua lettura non è fondamentale per imparare ad utilizzare il programma, sono presenti informazioni importanti, da leggere se si intende diffondere i testi convertiti.
HTML supportato:
Cosa non è (ancora completamente) supportato:
Implementazione dello standard:
Queste regole non vengono seguite durante la conversione di alcuni elementi. Fare riferimento alle note sulla conversione dei contenuti di <PRE>, <XMP>, <LISTING> e <SCRIPT> per maggiori informazioni.
Se l'opzione ANSI è attiva HTTX utilizza le sequenze ANSI per la gestione di stili HTML (come grassetto, italico, sottolineato etc), link (visualizzati in blu sottolineato), del centraggio e dell'indentazione del testo.
I codici ANSI utilizzati sono presi dalle specifiche dello standard e dovrebbero essere supportati da qualunque programma (forse...).
Queste le sequenze (ESC è sostituito da "\e").
\e[1m
\e[3m
\e[4m
\e[33m
\e[1;3m
".
Per l'indentazione delle liste e l'allineamento del testo viene utilizzata la
sequenza di posizionameto cursore "\e[nnC"
dove nn
è il numero di spostamenti a destra da effettuare. Questa sequenza non
è utilizzata in fase di stampa.
Problematiche di compatibilità:
Le regole indicate nell'implementazione dello standard, il wordwrap e la conversione a 7bit dei caratteri 8-bit non sono totalmente valide per alcuni elementi che in base alle specifiche HTML vengono gestiti diversamente.
Oltre a consigli, segnalazioni di bug, problemi, è gradito un messaggio di commento da chiunque utilizzi HTTX, oltre che naturalmente segnalazioni di azioni in favore di enti che si occupano di bambini (vedi "CHILDWARE").
E-Mail : favrin@tin.it
FidoNet: 2:333/726.8
Per favore scrivete in italiano o in inglese.
Pagina di supporto per HTTX:
http://www.aspide.it/freeweb/poing/soft/httx/indice.html
Per il betatesting della versione 1.7:
Per la documentazione inglese di HTTX 1.5 e la verifica di quella di HTTX 1.7:
Per il betatesting del Plugin per AWeb:
Grazie di cuore a Yvon Rozijn per aver voluto HTTX nel pacchetto di AWeb II e per tutto l'aiuto che mi ha fornito!
Grazie a W. v. Oortmerssen per lo splendido AmigaE con cui è stato realizzato HTTX.
Infine un ringraziamento speciale a chi mi ha scritto a proposito di HTTX e a chi lo utilizza!
V1.0 (Luglio 1996)
V1.1 (Novembre 1996)
V1.1a (Gennaio 1997)
V1.1b
V1.5 (Maggio 1997)
V1.7 (Gennaio 1998)
HTTX è un programma in continuo sviluppo, se non altro perchè lo utilizzo quotidianamente e ne rilevo quindi mancanze o possibili migliorie. Questa versione ha posto le basi per una nuova, ancor migliore, che sarà presto disponibile.
Se non ne conoscete rivolgetevi all'ufficio postale della vostra zona e chiedete informazioni su come effettuare un versamento a favore dell'Unicef.
L'entità della donazione è libera, ma fatela!